#include <cassert>

#ifdef _MSC_VER
	#include <kuai/stdint.h>
#else
	#include <stdint.h>
#endif

#ifndef _KUAILIB_TYPEDEF_H_
#define _KUAILIB_TYPEDEF_H_

#ifdef __cplusplus
extern "C" {
#endif

	typedef uint8_t Byte;

#ifndef DOUBLE_PRECISION
	typedef float		RealNumber;
	typedef uint16_t	Index;
	typedef uint32_t	BigIndex;
#else 
	typedef double		RealNumber;
	typedef uint32_t	Index;
	typedef uint64_t	BigIndex;
#endif

	enum {
		INVALID_INDEX = Index(-1)
	};

#ifdef __cplusplus
}
#endif

#endif // _KUAILIB_TYPEDEF_H_

